
#pragma  once

namespace ATools
{
	template<typename T>
	class TSingleton
	{
	protected:
		TSingleton(){};

	public:
		static T& Instance()
		{
			static T s_Instance;
			return s_Instance;
		}

	};

	//template<typename T> 
	//inline T& GetSingleton(void)
	//{
	//	return T::Instance();
	//}

}
